package com.example.martian.huobi.client;

import com.example.martian.huobi.client.req.margin.*;
import com.example.martian.huobi.model.isolatedmargin.IsolatedMarginAccount;
import com.example.martian.huobi.model.isolatedmargin.IsolatedMarginLoadOrder;
import com.example.martian.huobi.model.isolatedmargin.IsolatedMarginSymbolInfo;

import java.util.List;

public interface IsolatedMarginClient {

  Long transfer(IsolatedMarginTransferRequest request);

  Long applyLoan(IsolatedMarginApplyLoanRequest request);

  Long repayLoan(IsolatedMarginRepayLoanRequest request);

  List<IsolatedMarginLoadOrder> getLoanOrders(IsolatedMarginLoanOrdersRequest request);

  List<IsolatedMarginAccount> getLoanBalance(IsolatedMarginAccountRequest request);

  List<IsolatedMarginSymbolInfo> getLoanInfo(IsolatedMarginLoanInfoRequest request);

}
